home *** CD-ROM | disk | FTP | other *** search
/ MACD 5 / MACD 5.bin / internet / irc_i_dodatki / kuang / kuangeleven28.lha / Rexx / Dccdone.amirx < prev    next >
Text File  |  1997-03-28  |  3KB  |  143 lines

  1. /* Kuang Eleven V2.5 Dccdone.amirx*/
  2. options results
  3. parse arg com successcode nick filename
  4. filename=strip(filename,'B',' "')
  5. if successcode then ply('DCC_DONE')
  6. /* AutoMove Sounds */
  7. /**/
  8. if com='RECEIVE' then do
  9.     if ~successcode then exit
  10.     file=filepart(filename)
  11.     patrs=getclip('sc_manpatr')
  12.     if patrs~='' then do
  13.         pr='Manager'
  14.         readargs(patrs,'Pattern/M')
  15.         readargs(getclip('sc_manpath'),'Path/M')
  16.         do i=0 to pattern.count-1
  17.             if matchpattern(pattern.i,file,'NOCASE') then do
  18.                 move(path.i)
  19.                 exit
  20.             end
  21.         end
  22.     end
  23.     if getclip('sc_amsound')~=='ON'|find('.WAV .SND .VOC',upper(right(file,4)))=0 then exit
  24.     pr='MoveSound'
  25.     "GETCTCPSOUNDDIR"
  26.     move(prsprg(result))
  27.     exit
  28. end
  29. /**/
  30.  
  31. "GETDCC"
  32.  
  33. /* CPS Record */
  34. /**/
  35. if successcode then do
  36.     "GETMYNICK"
  37.     "USERHOST" result
  38.     myhost=substr(result,pos('@',result)+1)
  39.     do i=1 to dcc.send.0
  40.         parse value dcc.send.i WITH mnick moveflag hostname state len cps mfilename
  41.         mfilename=strip(mfilename,'B',' "')
  42.         if hostname~='localhost'&len>100000&mnick=nick&mfilename=filename&state=3 then do
  43.             x=getclip('st_maxcps')
  44.             if x='' then x=0
  45.             if cps>x then do
  46.                 cecho('MaxCPS',bld('New record') 'acheived from' bld(nick) ':'bld(cps) 'cps!')
  47.                 setclip('st_maxcps',cps)
  48.             end
  49.             leave
  50.         end
  51.     end
  52. end
  53. /**/
  54.  
  55. /* Queue */
  56. /**/
  57. l=getclip('st_xdccq')
  58. if l='' then exit
  59. s=getclip('sc_xdccslots')
  60. if s='' then s=6
  61. free=s-getslots()
  62. if free<1 then exit
  63. pr='XDCC';lb=l
  64. do until l=''
  65.    parse var l q l
  66.    parse var q nick'@'spec'@'com'@'files'@'addr .
  67.    if files<=free then do
  68.         address value 'AMIRC.'addr
  69.         if getclip('sc_xdcc')=='ON' then do
  70.             "USERHOST" nick
  71.             if pos('@',result)=0 then cecho(pr,'Queued request from' bld(nick) 'aborted.')
  72.             else amrx('kuang11XDCC 1 queue' com nick spec)
  73.         end
  74.         else do
  75.            notice(nick,'XDCC has been disabled.')
  76.            cecho(pr,'Queued request from' bld(nick) 'aborted.')
  77.         end
  78.         setclip('st_xdccq',strip(delword(lb,find(lb,q),1)))
  79.         exit
  80.     end
  81. end
  82. /**/
  83. exit
  84.  
  85. /* #### SHARED FUNCTIONS #### */
  86. /**/
  87. cecho:;"ECHO P="d2c(27)"b«"arg(1)"»" arg(2);return 0
  88. notice:;'RAW NOTICE' arg(1) ':'arg(2);return 0
  89. bld:PROCEDURE;b=x2c('02');return b||arg(1)||b
  90. amrx:;'SAY /RX' arg(1);return 0
  91. prsprg:PROCEDURE
  92. x=arg(1)
  93. z=right(x,1)
  94. if z~='/'&z~=':' then x=x||'/'
  95. if upper(left(x,8))='PROGDIR:' then do
  96.     y=pragma('d')
  97.     z=right(y,1)
  98.     if z~='/'&z~=':' then y=y||'/'
  99.     if length(x)>8 then return y||substr(x,9);else return y
  100. end
  101. return x
  102. move:
  103. if ~exists(arg(1)) then do
  104.     cecho(pr,arg(1) 'does not exist')
  105.     exit
  106. end
  107. dest=absolutepath(arg(1))
  108. filename=absolutepath(filename)
  109. file=filepart(filename)
  110. destfile=addpart(dest,file)
  111. if exists(destfile) then do
  112.     cecho(pr,file 'already found in' dest)
  113.     exit
  114. end
  115. parse var filename dev1 ':' .
  116. parse var dest dev2 ':' .
  117. dev1=absolutepath(strip(dev1,'L','"')':')
  118. dev2=absolutepath(strip(dev2,'L','"')':')
  119. if dev1=dev2 then rename(filename,destfile)
  120. else address command 'copy "'filename'" "'destfile'"'
  121. if exists(destfile) then do
  122.     cecho(pr,file 'moved to' destfile)
  123.     delete(filename)
  124. end
  125. else cecho(pr,'Unable to move' filename 'to' dest)
  126. exit
  127.  
  128. getslots:procedure
  129. l=showlist('W') showlist('T')
  130. x=0;p=1
  131. do until p=0
  132.     p=pos('AmIRC DCC S',l,p)
  133.     if p~==0 then do
  134.         x=x+1;p=p+21
  135.     end
  136. end
  137. return x
  138. ply:
  139. if getclip('sc_playsounds')~=='ON' then return 0
  140. 'PLAYSOUND _K11'arg(1)'.snd'
  141. return 0
  142. /**/
  143.